package com.yxx.service;

import com.yxx.entityModel.vo.Result.PageResult;
import com.yxx.entityModel.vo.query.PhotoQuery;
import com.yxx.entityModel.vo.request.PhotoInfoRequest;
import com.yxx.entityModel.vo.request.PhotoRequest;
import com.yxx.entityModel.vo.response.AlbumBackResponse;
import com.yxx.entityModel.vo.response.PhotoBackResponse;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * 照片服务接口
 * @author yuxiangxun
 * @date 2025/2/1
 * @apiNote
 */
public interface PhotoService {
    /**
     * 查看后台照片列表
     * @param photoQuery
     * @return
     */
    PageResult<PhotoBackResponse> PhotoBackListVO(PhotoQuery photoQuery);

    /**
     * 查看照片相册信息
     * @param albumId
     * @return
     */
    AlbumBackResponse getAlbumInfo(Integer albumId);

    /**
     * 上传照片
     * @param file
     * @return
     */
    String uploadPhoto(MultipartFile file);

    /**
     * 批量添加照片
     * @param photoRequest
     */
    void addPhoto(PhotoRequest photoRequest);

    /**
     * 修改照片信息
     * @param photoInfoRequest
     */
    void updatePhoto(PhotoInfoRequest photoInfoRequest);

    /**
     * 删除照片
     * @param photoIdList
     */
    void deletePhoto(List<Integer> photoIdList);

    /**
     * 移动照片
     * @param photoRequest
     */
    void movePhoto(PhotoRequest photoRequest);

    /**
     * 查看照片列表
     * @param albumId
     * @return
     */
    Map<String,Object> photoListVO(Integer albumId);
}
